package com.hyts.threads.service;

/**
 * @author libo
 * @description 覆盖ThreadPoolExecutor 类的实现方法调用预定义操作方法类
 *
 */
public abstract class ThreadPoolService <T>{

		/**
		 * 任务执行操作
		 * @param param
		 * @return
		 */
		public abstract Object execute(T param);
		public abstract Object execute();
	
		/**
		 * 当每一个任务运行之前进行调用的事件方法
		 * @param runnable
		 * @param t
		 * @param param
		 */
		public abstract Object before(T param);
		
		public abstract Object before();
	
		/**
		 *  当每一个任务运行之后进行调用的事件方法
		 * @param runnable
		 * @param t
		 * @param param
		 */
		public abstract Object after(T param);
		public abstract Object after();

		/**
		 *  当整体线程池运行之后进行调用的事件方法
		 * @param runnable
		 * @param t
		 * @param param
		 */
		public abstract Object end(T param);
		public abstract Object end();

}
